package com.squirrel.common.service;

import com.squirrel.common.entity.Video;
import com.baomidou.mybatisplus.extension.service.IService;
import com.squirrel.common.param.video.MultipartFileParam;
import com.squirrel.common.param.video.PageParam;
import com.squirrel.common.param.video.VideoParam;
import com.squirrel.common.response.page.PageResult;
import com.squirrel.common.vo.video.VideoInfoVO;
import com.squirrel.common.vo.video.VideoUpVO;
import com.squirrel.common.vo.video.VideoVO;

import java.util.List;

/**
 * <p>
 * VideoService 视频服务类
 * </p>
 *
 * @author 关远键
 * @since 2021/11/11 16:06
 */
public interface VideoService extends IService<Video> {

    PageResult<VideoVO> getRandomVideo(int size);

    PageResult<VideoVO> getByChannel(PageParam pageParam, Integer channelId);

    PageResult<VideoVO> getByKey(PageParam pageParam, String key);

    VideoInfoVO getById(Integer userId, Integer id);

    VideoVO getByVideoId(Integer id);

    List<VideoUpVO> getByUserId(Integer id);

    String upload(MultipartFileParam fileParam);

    Integer uploadSuccessCallback(VideoParam videoParam);

}
